#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QtGui/QMainWindow>
#include <QGraphicsScene>
#include <QImage>
#include "audioview.h"
#include <qdebug.h>
#include <QFontDatabase>
#include "collectionbrowser.h"
#include "collection.h"
#include <QListView>
#include <QTreeView>
#include <QSettings>
#include <QPluginLoader>
#include "widgetinterface.h"
#include "collectionitemmodel.h"
#include "virtualkeyboard.h"
#include "audioplayerbackend.h"

#include <libmpd-1.0/libmpd/libmpd.h>

#ifdef Q_WS_QWS
    #include <QScreenCursor>
    #include <QDirectPainter>
#endif

namespace Ui
{
    class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0, Qt::WindowFlags flags = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QPixmap * background;
    QGraphicsScene * scene;
    audioview * aview;
    collectionBrowser * browser;
    //mpdcontroller * music;
    AudioPlayerBackend * audioplayer;

    Collection * collection;
    CollectionItemModel * model;
    QSettings * settings;
    QSettings * themeSettings;

    void init();

public slots:
    void showBrowser();
    void hideBrowser();
};

#endif // MAINWINDOW_H
